De ADO.NET DAL klasse testen
Home

De ADO.NET DAL klasse testen

De ADO.NET DAL klasse testen

Het is belangrijk de DAL klasse te testen vooraleer die in ons project Webwinkel te gebruiken.

Probleem

Ons project Webwinkel is op zichzelf al ingewikkeld genoeg. We willen niet de complexiteit van een MVC applicatie meeslepen in het testen van een zelfgeschreven DAL klasse. Het is aangeraden om dat in een console applicatie te doen. We moeten tijdens het testen dan geen rekening houden met de complexiteit van het MVC framework.

Design

We maken in de Program klasse van de Console applicatie een instantie van de model klasse en van de DAL klasse aan en testen in een logische volgorde de methoden van de DAL klasse.

Oplossing

using System;
using System.Collections.Generic;

namespace LerenWerkenMetAdo.Net
{
    class Program
    {
        static void Main(string[] args)
        {
            // maak een instantie van het model
            Webwinkel.Models.OrderStatus model = new Webwinkel.Models.OrderStatus();
            model.Name = "Bestelling is geplaatst";
            model.Description = "De klant heeft de bestelling bevestigd online en heeft betaald.";
            Webwinkel.Dal.OrderStatus dal = new Webwinkel.Dal.OrderStatus(model);
            dal.Create();
            Console.WriteLine("De feedback van de Create methode: {0}", dal.Message);
            List<Webwinkel.Models.OrderStatus> list = dal.ReadAll();
            if (list.Count > 0) {
                foreach (Webwinkel.Models.OrderStatus item in list)
                {
                    // de SelectAll lijst alleen die kolommen waarvoor in de kolom List
                    // van het logisch model YES staat!
                    Console.WriteLine("De orderstatus met naam {0} en met Id {1}", 
                        item.Name, item.Id);
                }
            }
            else
            {
                Console.WriteLine("De tabel Orderstatus is leeg.");
            }
            // Lees een rij in
            dal.ReadOne();
            Console.WriteLine("De feedback van de ReadOne methode: {0}", dal.Message);
            Console.WriteLine("De orderstatus met naam {0} en met Id {1} en met beschrijving {2}", 
                dal.Model.Name, dal.Model.Id, dal.Model.Description);
            // de beschrijving wijzigen
            model.Description = 
                "De klant heeft op een correcte manier de bestelling bevestigd online en heeft betaald.";
            // de Id zit nog steeds in ons model
            dal.Update();
            Console.WriteLine("De feedback van de Update methode: {0}", dal.Message);
            // verifieer als de update geslaagd is
            // Lees een rij in
            dal.ReadOne();
            Console.WriteLine("De feedback van de ReadOne methode: {0}", dal.Message);
            Console.WriteLine("De orderstatus met naam {0} en met Id {1} en met beschrijving {2}",
                dal.Model.Name, dal.Model.Id, dal.Model.Description);
            // Rij deleten
            // de Id zit nog steeds in het model
            dal.Delete();
            Console.WriteLine("De feedback van de Delete methode: {0}", dal.Message);
            list = dal.ReadAll();
            if (list.Count > 0)
            {
                foreach (Webwinkel.Models.OrderStatus item in list)
                {
                    // de SelectAll lijst alleen die kolommen waarvoor in de kolom List
                    // van het logisch model YES staat!
                    Console.WriteLine("De orderstatus met naam {0} en met Id {1}", 
                        item.Name, item.Id);
                }
            }
            else
            {
                Console.WriteLine("De tabel Orderstatus is leeg.");
            }
            Console.ReadLine();
        }
    }
}
ADO.NET DAL klasse testen
ADO.NET DAL klasse testen

JI
2017-01-21 16:26:20